/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
// var moveZeroes = function (nums) {
//     let j=0;
//     for (let i = 0; i < nums.length;i++) {
//         if (nums[j] == 0) {
//             nums.push(0);
//             nums.splice(j, 1);
//             console.log(nums)
//         }else{
//             j++;
//         }   
//     }
// };


//es6  js  特殊写法
var moveZeroes = function (nums) {
    let j = 0;

    for (let i = 0; i < nums.length; i++) {
        if (nums[i] !== 0) {
            // swap elements
            [nums[j], nums[i]] = [nums[i], nums[j]]
            j++;
        }
        //   console.log(nums)
    }
};


let nums = [1, 0, 1]
moveZeroes(nums);
console.log(nums);
